#!/bin/sh
cd "${0%/*}" || exit                                # Run from this directory
. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
#------------------------------------------------------------------------------

# Cleanup old junk that may prevent things from starting
rm -f comms/OpenFOAM.lock

# If OpenFOAM stops prematurely, trigger the external solver to stop
trap '[ -e comms/OpenFOAM.lock ] && echo "status=done" > comms/OpenFOAM.lock' EXIT TERM INT

# Simulated external solver.
# Using -scale 0.01 since input movement table included visual scaling

if false
then
    # Create response file
    runApplication -overwrite \
        ../code/building-motion -deltaT 0.001 -nTimes 5001 -output response.txt

    # Use response file for states
    runApplication -overwrite \
        lumpedPointMovement -scale 0.01 -removeLock -slave response.txt &
else

    # Generate states on demand
    runApplication -overwrite \
        ../code/building-motion -scale 0.01 -removeLock -slave &
fi

# Run OpenFOAM
runParallel $(getApplication)

#------------------------------------------------------------------------------
